home *** CD-ROM | disk | FTP | other *** search
/ The 640 MEG Shareware Studio 2 / The 640 Meg Shareware Studio CD-ROM Volume II (Data Express)(1993).ISO / prog / mod2tutb.zip / MOREPROG.MOD < prev    next >
Text File  |  1989-01-18  |  2KB  |  88 lines

  1.                                          (* Chapter 7 - Program 2 *)
  2. MODULE MoreProg;   (* More program construction examples *)
  3.  
  4. FROM InOut IMPORT WriteString, WriteLn;
  5.  
  6. CONST MainC = 27;
  7. TYPE  MainT = ARRAY[3..7] OF CARDINAL;
  8. VAR   MainV : MainT;
  9.  
  10.      PROCEDURE Proc1;
  11.      CONST Proc1C = 33;
  12.      TYPE  Proc1T = ARRAY[-23..-15] OF CHAR;
  13.      VAR   Proc1V : MainT;
  14.            Proc11 : Proc1T;
  15.      BEGIN
  16.        WriteString("Procedure 1");
  17.        WriteLn;
  18.      END Proc1;
  19.  
  20.      PROCEDURE Proc2;
  21.      CONST Proc2C = 22;
  22.      TYPE  Proc2T = ARRAY[3..5],[-4..0] OF BOOLEAN;
  23.      VAR   Proc2V : MainT;
  24.            Proc21 : Proc2T;
  25.           PROCEDURE Proc3;
  26.           CONST Proc3C = -234;
  27.           TYPE  Proc3T = ARRAY[12..13] OF MainT;
  28.           VAR   Proc3V : MainT;
  29.                 Proc31 : Proc2T;
  30.                 Proc32 : Proc3T;
  31.           BEGIN
  32.             WriteString("Procedure 3");
  33.             WriteLn;
  34.           END Proc3;
  35.  
  36.           PROCEDURE Proc4;
  37.           CONST Proc4C = 111;
  38.           TYPE  Proc4T = CARDINAL;
  39.           VAR   Proc4V : MainT;
  40.                 Proc41 : Proc2T;
  41.                 Proc42 : Proc4T;
  42.                PROCEDURE Proc5;
  43.                CONST Proc5C = "A";
  44.                TYPE  Proc5T = ARRAY[22..222] OF CHAR;
  45.                VAR   Proc5V : MainT;
  46.                      Proc51 : Proc2T;
  47.                      Proc52 : Proc4T;
  48.                      Proc53 : Proc5T;
  49.                BEGIN
  50.                  WriteString("Procedure 5");
  51.                  WriteLn;
  52.                END Proc5;
  53.           BEGIN
  54.             WriteString("Procedure 4");
  55.             WriteLn;
  56.             Proc5;
  57.             Proc3;
  58.           END Proc4;
  59.      BEGIN
  60.        WriteString("Procedure 2");
  61.        WriteLn;
  62.        Proc3;
  63.        Proc4;
  64.      END Proc2;
  65.  
  66. BEGIN
  67.   WriteString("Main Program");
  68.   WriteLn;
  69.   Proc2;
  70.   Proc1;
  71. END MoreProg.
  72.  
  73.  
  74.  
  75.  
  76. (* Result of execution
  77.  
  78. Main Program
  79. Procedure 2
  80. Procedure 3
  81. Procedure 4
  82. Procedure 5
  83. Procedure 3
  84. Procedure 1
  85.  
  86. *)
  87.  
  88.